:root{
  --green:#2f4a36; --green-dark:#22372a; --cream:#f7f1e3; --cream-2:#efe5cf;
  --brown:#7a4e2d; --ink:#1f2a22; --muted:#4f5a52; --radius:14px;
  --font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto}
a{color:var(--green);text-underline-offset:.18em}
a:hover{color:var(--brown)}
:focus-visible{outline:3px solid var(--brown);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem;color:#fff}
.wrap{width:min(100% - 2.5rem, 68rem);margin-inline:auto}
.narrow{width:min(100% - 2.5rem, 42rem)}
.center{text-align:center}
.site-header{background:var(--green);color:var(--cream)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:.01em}
.brand:hover{color:#fff}
.brand img{background:var(--cream);border-radius:8px;padding:2px}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem}
nav a{color:var(--cream);text-decoration:none;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current="page"]{color:#fff;border-bottom-color:#e2c9a0}
.hero{background:linear-gradient(180deg,var(--green) 0%,var(--green-dark) 100%);color:var(--cream);padding:3.5rem 0 4rem}
.hero h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.12;margin:.3rem 0 1rem;max-width:20ch;color:#fff}
.hero .lead{max-width:38rem;color:var(--cream)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:600;color:#e2c9a0;margin:0}
.lead{font-size:1.2rem}
.button{display:inline-block;background:var(--brown);color:#fff;text-decoration:none;font-weight:600;padding:.8rem 1.35rem;border-radius:999px;margin:.35rem .4rem .35rem 0;border:2px solid var(--brown)}
.button:hover{background:#5f3b21;border-color:#5f3b21;color:#fff}
.button-ghost{background:transparent;color:var(--green);border-color:var(--green)}
.button-ghost:hover{background:var(--green);color:#fff;border-color:var(--green)}
.hero .button-ghost{color:var(--cream);border-color:var(--cream)}
.hero .button-ghost:hover{background:var(--cream);color:var(--green)}
.section{padding:3.25rem 0}
.section-alt{background:var(--cream-2)}
h1,h2,h3{line-height:1.25;color:var(--green-dark)}
h2{font-size:clamp(1.5rem,4vw,2rem);margin:0 0 1.25rem}
.prose h2{margin-top:2.25rem}
.prose h1{font-size:clamp(1.9rem,5vw,2.6rem);margin-top:0}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:40rem){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:62rem){.cards{grid-template-columns:repeat(4,1fr)}}
.card{background:#fffdf7;border:1px solid #e3d6ba;border-top:5px solid var(--brown);border-radius:var(--radius);padding:1.25rem 1.25rem .5rem}
.card h3{margin:.1rem 0 .4rem;font-size:1.15rem}
.ticks{padding-left:1.2rem}
.ticks li{margin-bottom:.9rem}
.ticks li::marker{color:var(--brown)}
.signoff{font-style:italic;color:var(--brown);font-weight:600;margin-top:1.5rem}
.contact-box{margin:1.5rem 0}
.muted{color:var(--muted);font-size:.95rem}
.site-footer{background:var(--green-dark);color:var(--cream);padding:1.5rem 0;font-size:.95rem}
.site-footer p{margin:0}
.site-footer a{color:var(--cream)}
.site-footer a:hover{color:#fff}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
