:root{
  --cream:#FAF7F0; --paper:#F3EFE4; --sage:#A8BFA0; --sage-soft:#DDE7D8;
  --forest:#2E4B3C; --ink:#22301F; --terra:#C67B5C; --line:#E4DECF; --radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;font-size:17px}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.18;color:var(--forest)}
a{color:var(--forest)}
.wrap{max-width:1020px;margin:0 auto;padding:0 24px}
nav{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1020px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--forest);text-decoration:none}
.brand svg{width:26px;height:26px}
.nav-links{display:flex;gap:22px;align-items:center;font-size:.92rem}
.nav-links a{text-decoration:none;color:var(--ink);opacity:.75;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-links .pill{background:var(--forest);color:#fff;opacity:1;padding:8px 18px;border-radius:999px;font-weight:600}
@media(max-width:640px){.nav-links a:not(.pill){display:none}}
.hero{padding:90px 0 70px;text-align:center;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.3rem,5.5vw,3.6rem);max-width:18ch;margin:0 auto 18px}
.hero p{max-width:540px;margin:0 auto;font-size:1.1rem;opacity:.85}
.leaf{position:absolute;opacity:.45;pointer-events:none}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:600;color:var(--terra)}
section{padding:56px 0}
.featured{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;display:block;text-decoration:none;transition:transform .25s,box-shadow .25s}
.featured:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(34,48,31,.09)}
.featured h2{font-size:1.8rem;margin:10px 0 12px}
.featured p{opacity:.85;max-width:640px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-top:26px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(34,48,31,.08)}
.post-card h3{font-size:1.18rem}
.post-card p{font-size:.93rem;opacity:.82;flex:1}
.meta{font-size:.8rem;opacity:.6}
.about{background:var(--paper);border-radius:var(--radius);padding:44px;display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.about h2{font-size:1.5rem;margin-bottom:8px}
.about p{max-width:640px;font-size:.96rem;opacity:.88}
article{max-width:680px;margin:0 auto;padding:64px 24px 40px}
article header{margin-bottom:36px}
article h1{font-size:clamp(1.9rem,4.5vw,2.7rem);margin:12px 0 14px}
article h2{font-size:1.45rem;margin:40px 0 12px}
article p{margin:0 0 18px}
article ul,article ol{margin:0 0 18px 22px}
article li{margin-bottom:10px}
article blockquote{border-left:3px solid var(--sage);padding:6px 0 6px 20px;margin:24px 0;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--forest)}
.cta-box{background:linear-gradient(135deg,var(--forest),#3C614E);color:var(--cream);border-radius:var(--radius);padding:32px;margin:36px 0}
.cta-box h3{color:var(--cream);font-size:1.25rem;margin-bottom:8px}
.cta-box p{opacity:.9;font-size:.95rem;margin-bottom:18px}
.btn{display:inline-block;padding:12px 26px;border-radius:999px;background:var(--cream);color:var(--forest);text-decoration:none;font-weight:600;font-size:.92rem}
.btn.solid{background:var(--forest);color:#fff}
.compare-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);margin:26px 0}
table{width:100%;border-collapse:collapse;background:#fff;min-width:640px}
th,td{padding:15px 16px;text-align:left;font-size:.9rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-family:'Fraunces',serif;font-size:.98rem;background:var(--paper)}
tr:last-child td{border-bottom:none}
.hl{background:var(--sage-soft)}
thead th.hl{background:var(--sage)}
.tag{display:inline-block;background:var(--terra);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.calc{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px;margin:26px 0}
.calc .big{font-family:'Fraunces',serif;font-size:3rem;color:var(--terra);line-height:1.1}
input[type=range]{width:100%;accent-color:var(--forest);margin:16px 0 6px}
.related{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}
.related h3{margin-bottom:14px}
.related a{display:block;margin-bottom:10px}
footer{border-top:1px solid var(--line);padding:38px 0 56px;font-size:.87rem;opacity:.8;margin-top:40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
