
:root{
  --green:#2f6b3c; --green-d:#234f2d; --green-l:#e8f1e8;
  --brown:#6b4a2b; --sand:#f7f4ec; --ink:#22271f; --muted:#5c6656;
  --line:#d9d5c6; --white:#fff; --shadow:0 2px 10px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,Roboto,Arial,sans-serif;color:var(--ink);
  background:var(--sand);line-height:1.65}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

/* header */
.site-head{background:var(--green);color:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:50}
.head-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.brand{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:.3px}
.brand .logo{font-size:1.5rem}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;
  font-size:1.3rem;border-radius:6px;padding:2px 10px;cursor:pointer}
.mainnav{background:var(--green-d)}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.mainnav a{color:#dfe9df;display:block;padding:11px 15px;font-size:.94rem}
.mainnav a:hover{background:rgba(255,255,255,.08);text-decoration:none;color:#fff}
.mainnav a.active{background:var(--sand);color:var(--green-d);font-weight:600}

main{padding:28px 20px 50px}
h1{color:var(--green-d);font-size:2rem;margin:.2em 0 .5em;line-height:1.2}
h2{color:var(--green-d);margin-top:1.6em;border-bottom:2px solid var(--green-l);padding-bottom:.2em}
h3{color:var(--brown);margin:.3em 0}
.intro,.lead p{font-size:1.12rem;color:var(--muted)}

/* hero */
.hero{position:relative;border-radius:12px;overflow:hidden;margin-bottom:26px;box-shadow:var(--shadow)}
.hero img{width:100%;max-height:420px;object-fit:cover}
.hero-cap{position:absolute;left:0;bottom:0;right:0;padding:26px 24px;color:#fff;
  background:linear-gradient(transparent,rgba(20,40,20,.82))}
.hero-cap h1{color:#fff;margin:.1em 0}
.hero-cap p{margin:.3em 0 .9em;font-size:1.1rem;max-width:640px}
.btn{display:inline-block;background:var(--brown);color:#fff;padding:10px 20px;border-radius:8px;
  font-weight:600;border:none;cursor:pointer}
.btn:hover{background:#573a20;text-decoration:none;color:#fff}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-3px);transition:.15s;text-decoration:none}
.card img{height:150px;width:100%;object-fit:cover}
.card h3{margin:12px 14px 4px}
.card p{margin:0 14px 16px;color:var(--muted);font-size:.95rem}

/* split & figures */
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;margin:22px 0}
.fig{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.fig img{width:100%;object-fit:cover;max-height:340px}
.fig.wide{max-height:none}
.fig.wide img{max-height:440px}
figcaption{padding:9px 13px;font-size:.88rem;color:var(--muted);background:#fff}

/* tables & lists */
.tbl{border-collapse:collapse;width:100%;background:#fff;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}
.tbl th,.tbl td{padding:9px 14px;border-bottom:1px solid var(--line);text-align:left}
.tbl th{background:var(--green-l);color:var(--green-d);width:38%}
.facts{padding-left:1.1em}
.facts li{margin:.35em 0}
.fun{padding-left:1.3em}
.fun li{margin:.5em 0}
.callout{background:var(--green-l);border-left:5px solid var(--green);border-radius:8px;padding:6px 18px}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.gal-item{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.gal-item img{height:180px;width:100%;object-fit:cover}
.gal-item span{display:block;padding:8px 12px;font-size:.85rem;color:var(--muted)}
.gal-item:hover{text-decoration:none}

/* form */
.contact{max-width:520px;display:grid;gap:12px;margin:10px 0 4px}
.contact label{display:grid;gap:5px;font-weight:600;color:var(--green-d)}
.contact input,.contact textarea{padding:9px 11px;border:1px solid var(--line);border-radius:7px;font:inherit}

/* footer */
.site-foot{background:var(--green-d);color:#cfe0cf;margin-top:40px}
.foot-inner{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:20px;padding:26px 20px}
.foot-links{display:flex;flex-direction:column;gap:6px}
.site-foot a{color:#fff}
.foot-note{font-size:.82rem;color:#a9c0a9}

@media(max-width:820px){
  .cards,.gallery{grid-template-columns:1fr 1fr}
  .split,.foot-inner{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .mainnav ul{display:none;flex-direction:column}
  body.nav-open .mainnav ul{display:flex}
}
@media(max-width:520px){
  .cards,.gallery{grid-template-columns:1fr}
}
