:root { --brown:#8b4513; --brown-d:#6d360f; --green:#27ae60; --green-d:#1e8e4e; --cocoa:#2f2019; --cream:#faf6f1; --line:#ead9c8; --text:#2b2b2b; --muted:#6b6b6b; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:"Segoe UI",Roboto,Arial,sans-serif; color:var(--text); background:#fff; line-height:1.6; }
a { color:var(--brown); }
img { max-width:100%; }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; color:var(--cocoa); line-height:1.2; margin:0 0 12px; }
h2 { font-size:clamp(26px,4vw,34px); }
h3 { font-size:20px; }
p { margin:0 0 14px; }
.lead { font-size:19px; color:#4a3a30; }

.top { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); }
.bar { display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand { font-family:Georgia,serif; font-size:24px; text-decoration:none; color:var(--brown); font-weight:700; }
.brand em { font-style:normal; font-weight:400; color:var(--green-d); }
nav { display:flex; gap:22px; align-items:center; }
nav a { text-decoration:none; color:var(--cocoa); font-weight:500; font-size:15px; }
nav a:hover { color:var(--brown); }
nav .cta { background:var(--green); color:#fff; padding:9px 16px; border-radius:999px; }
nav .cta:hover { background:var(--green-d); color:#fff; }
.menu-btn { display:none; background:none; border:1px solid var(--line); border-radius:8px; font-size:22px; padding:2px 10px; color:var(--cocoa); cursor:pointer; }

.hero { background:linear-gradient(135deg,#6d360f 0%,#8b4513 55%,#1e8e4e 140%); color:#fff; padding:84px 0 92px; }
.hero h1 { color:#fff; font-size:clamp(34px,6.5vw,60px); margin-bottom:18px; }
.hero .lead { color:#f6e7d8; max-width:620px; }
.kicker { text-transform:uppercase; letter-spacing:.14em; font-size:13px; color:#f3cfae; margin-bottom:14px; }
.hero-actions { margin-top:26px; display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-block; background:var(--green); color:#fff; padding:12px 22px; border-radius:999px; text-decoration:none; font-weight:600; border:2px solid var(--green); }
.btn:hover { background:var(--green-d); border-color:var(--green-d); color:#fff; }
.btn.ghost { background:transparent; border-color:#fff; }
.btn.ghost:hover { background:#fff; color:var(--brown-d); }

.block { padding:72px 0; }
.block.alt { background:var(--cream); }
.two { display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:center; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px; }
.card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:0 2px 10px rgba(30,40,35,.05); }
.alt .card { background:#fff; }
.card.link { text-decoration:none; color:inherit; display:block; transition:transform .15s, box-shadow .15s; }
.card.link:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(30,40,35,.12); }
.card.link span { color:var(--green-d); font-weight:600; }
.ico { font-size:32px; margin-bottom:8px; }
.quote { background:var(--cream); border-left:5px solid var(--green); }
.quote p { font-family:Georgia,serif; font-size:22px; color:var(--cocoa); }
.quote span { color:var(--muted); font-size:14px; }
.ticks { list-style:none; margin:0; padding:0; }
.ticks li { padding:10px 0 10px 34px; position:relative; border-bottom:1px solid var(--line); }
.ticks li::before { content:"\2713"; position:absolute; left:0; top:9px; width:24px; height:24px; border-radius:50%; background:var(--green); color:#fff; text-align:center; font-size:14px; line-height:24px; }
.join { background:var(--cocoa); color:#f6e7d8; }
.join h2 { color:#fff; }
.join .lead { color:#e9d6c3; }
.join .card.link { background:#3b2b22; border-color:#54402f; }
.join .card.link h3 { color:#fff; }
.join .card.link p { color:#e2cdb9; }
.join .card.link span { color:#6fdc9a; }

.foot { background:#1f140f; color:#c9b7a6; padding:30px 0; font-size:14px; }
.foot a { color:#e9d6c3; text-decoration:none; margin-right:18px; }
.foot a:hover { text-decoration:underline; }
.foot-links { margin-bottom:10px; }
.foot p { margin:0; }

@media (max-width:820px) {
  .menu-btn { display:block; }
  nav { position:absolute; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 16px; display:none; }
  nav.open { display:flex; }
  nav a { padding:12px 0; border-bottom:1px solid var(--line); }
  nav .cta { text-align:center; margin-top:12px; border-bottom:0; }
  .two, .grid3 { grid-template-columns:1fr; }
  .block { padding:52px 0; }
  .hero { padding:60px 0 68px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .card.link { transition:none; } }
