:root{
  --green:#1F6F54; --gold:#E0A325; --slate:#243B4A; --cream:#FBF4E4;
  --ink:#243B4A; --muted:#5a6b76; --line:#e4ddc9; --bg:#fffdf8;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --wrap:720px;
}
*{box-sizing:border-box;}
html{font-size:17px;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);line-height:1.65;}
a{color:var(--green);text-decoration:none;}
a:hover{text-decoration:underline;}

/* header */
.site-header{max-width:var(--wrap);margin:0 auto;padding:1.4rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--slate);}
.brand:hover{text-decoration:none;}
.brand-mark{width:38px;height:38px;flex:none;}
.brand-name{font-size:1.25rem;font-weight:bold;}
.site-nav{display:flex;gap:1.25rem;font-family:var(--sans);font-size:.92rem;}
.site-nav a{color:var(--slate);}

/* main */
.site-main{max-width:var(--wrap);margin:0 auto;padding:1rem 1.25rem 3rem;}

/* hero */
.hero{padding:1.5rem 0 1rem;}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:2px;
  font-size:.72rem;color:var(--green);margin:0 0 .75rem;}
.hero h1{font-size:2.3rem;line-height:1.2;margin:0 0 .75rem;color:var(--slate);}
.lede{font-size:1.12rem;color:var(--ink);}
.hero-note{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin-top:.75rem;}

/* stat grid (colorblind-safe: number + label, never colour alone) */
.stat-grid{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0 .5rem;}
.stat{flex:1 1 160px;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:1rem 1.1rem;border-top:4px solid var(--green);}
.stat-num{display:block;font-size:1.7rem;font-weight:bold;color:var(--slate);}
.stat-label{display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted);margin-top:.25rem;}

/* buttons */
.cta-row{margin-top:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap;}
.btn{font-family:var(--sans);font-size:.92rem;font-weight:600;padding:.6rem 1.1rem;border-radius:10px;
  background:var(--green);color:#fff;display:inline-block;}
.btn:hover{text-decoration:none;background:#185b45;}
.btn-ghost{background:transparent;color:var(--green);border:1.5px solid var(--green);}
.btn-ghost:hover{background:#f0f6f3;}

/* lists */
.post-list{list-style:none;padding:0;margin:1rem 0;}
.post-list li{padding:.6rem 0;border-bottom:1px solid var(--line);}
.post-meta{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin-left:.5rem;}
.home-recent{margin-top:2.5rem;}
.home-recent h2{font-size:1.4rem;color:var(--slate);}

/* prose / posts */
.prose{max-width:660px;}
.prose h1{font-size:2rem;line-height:1.2;color:var(--slate);margin:.5rem 0 1rem;}
.prose h2{font-size:1.4rem;color:var(--slate);margin-top:2rem;}
.prose p{margin:1rem 0;}
.post-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:1.5px;
  font-size:.72rem;color:var(--green);}
.post .post-meta{display:block;margin:0 0 1.5rem;}
.fivebox{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:8px;padding:.75rem 1rem;font-family:var(--sans);font-size:.9rem;margin:1.25rem 0;}
.back{font-family:var(--sans);font-size:.9rem;margin-top:2rem;}

/* footer */
.site-footer{max-width:var(--wrap);margin:0 auto;padding:2rem 1.25rem 3rem;
  border-top:1px solid var(--line);font-family:var(--sans);color:var(--muted);font-size:.85rem;}
.site-footer .disclaimer{font-size:.78rem;}
.copy{font-size:.78rem;}

@media (max-width:520px){ .hero h1{font-size:1.8rem;} html{font-size:16px;} }
