:root{
  --brown:#78350f;
  --brown-deep:#451a03;
  --brown-mid:#5c2a0d;
  --clay:#8b4a1b;
  --green:#84cc16;
  --green-dark:#4d7c0f;
  --cream:#f6efe2;
  --cream-2:#efe3cf;
  --ink:#2b1608;
  --shadow:0 6px 16px rgba(43,22,8,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.75;
  font-size:16px;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(120deg,var(--brown-deep),var(--brown) 55%,var(--clay));
  border-bottom:3px solid rgba(132,204,22,.45);
  box-shadow:0 3px 14px rgba(43,22,8,.35);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:var(--cream);font-weight:700;font-size:1.22rem;letter-spacing:.5px}
.logo .mark{
  width:38px;height:38px;border-radius:14px;
  background:radial-gradient(circle at 32% 28%,#a9591d,#451a03 72%);
  display:grid;place-items:center;color:var(--green);font-size:1.15rem;
  box-shadow:inset 0 0 0 2px rgba(132,204,22,.35);
}
.nav-links{display:flex;flex-wrap:wrap;gap:6px}
.nav-links a{
  color:#f1e6d3;padding:7px 15px;border-radius:999px;font-size:.92rem;
  background:rgba(255,255,255,.06);transition:.25s;border:1px solid rgba(246,239,226,.12);
}
.nav-links a:hover{background:var(--green);color:#1c2f04;border-color:var(--green);transform:translateY(-2px)}
.nav-cta{background:var(--green)!important;color:#1c2f04!important;font-weight:600}

/* ---------- HERO ---------- */
#hero{
  position:relative;padding:64px 0 54px;color:var(--cream);
  background:
    radial-gradient(900px 420px at 82% 18%,rgba(132,204,22,.20),transparent 60%),
    linear-gradient(160deg,#5c2a0d 0%,#78350f 45%,#451a03 100%);
  overflow:hidden;
}
#hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px),radial-gradient(rgba(0,0,0,.14) 1px,transparent 1px);
  background-size:7px 7px,11px 11px;background-position:0 0,4px 5px;
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(132,204,22,.16);border:1px solid rgba(132,204,22,.5);color:#d6f39a;padding:5px 14px;border-radius:999px;font-size:.82rem;margin-bottom:16px}
h1{font-size:2.35rem;line-height:1.28;letter-spacing:.5px;margin-bottom:14px;text-shadow:0 3px 10px rgba(0,0,0,.35)}
.hero-sub{color:#e8d9c3;font-size:1rem;max-width:600px;margin-bottom:22px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:11px 24px;border-radius:999px;font-weight:600;font-size:.95rem;transition:.25s}
.btn-primary{background:var(--green);color:#1b2d04;box-shadow:0 6px 16px rgba(132,204,22,.28)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(132,204,22,.4)}
.btn-ghost{border:1px solid rgba(246,239,226,.45);color:var(--cream)}
.btn-ghost:hover{background:rgba(246,239,226,.12)}
.hero-media{border-radius:26px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.4);border:3px solid rgba(246,239,226,.18);background:#2b1608}
.hero-media img{width:100%;height:290px;object-fit:cover;opacity:.95}

/* ---------- SECTION BASE ---------- */
section{padding:44px 0}
.sec-head{margin-bottom:24px}
.kicker{display:inline-block;font-size:.78rem;letter-spacing:2px;color:var(--green-dark);background:rgba(132,204,22,.16);padding:3px 12px;border-radius:999px;margin-bottom:9px;font-weight:700}
h2{font-size:1.72rem;color:var(--brown-deep);line-height:1.35}
h3{font-size:1.06rem;color:var(--brown-deep)}
.lead{color:#5a4232;font-size:.97rem;max-width:860px;margin-top:8px}

/* ---------- GEO ---------- */
#geo-intro{background:linear-gradient(180deg,#f6efe2,#efe6d5)}
.geo-card{background:var(--cream);border:1px solid #e0d0b6;border-radius:22px;padding:26px 28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.geo-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--brown),var(--green-dark))}
.geo-card p{font-size:1rem;color:#4a3324}
.geo-card p+p{margin-top:12px}

/* ---------- STATS ---------- */
#data-stats{background:linear-gradient(150deg,var(--brown-mid),var(--brown-deep));color:var(--cream)}
#data-stats h2{color:var(--cream)}
#data-stats .lead{color:#e2d0b8}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.stat{
  background:rgba(246,239,226,.07);border:1px solid rgba(246,239,226,.16);
  border-radius:18px;padding:18px 14px;text-align:center;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:6px 6px;
}
.stat b{display:block;font-size:1.85rem;color:var(--green);line-height:1.2}
.stat span{font-size:.85rem;color:#e6d7c1}

/* ---------- ADVANTAGES (四列横向条卡) ---------- */
#core-advantages{background:var(--cream-2)}
.adv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.adv{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(100deg,#fbf6ec,#f0e5d2);
  border:1px solid #e2d2b8;border-radius:999px;
  padding:12px 20px 12px 12px;box-shadow:var(--shadow);
  background-image:radial-gradient(rgba(120,53,15,.07) 1px,transparent 1px);background-size:8px 8px;
  transition:.25s;
}
.adv:hover{transform:translateY(-3px);border-color:var(--green-dark)}
.adv .ico{
  flex:0 0 48px;height:48px;border-radius:999px;display:grid;place-items:center;font-size:1.35rem;
  background:radial-gradient(circle at 32% 30%,#8b4a1b,#451a03 78%);color:var(--green);
  box-shadow:inset 0 0 0 2px rgba(132,204,22,.28);
}
.adv .txt h3{font-size:1rem;margin-bottom:2px}
.adv .txt p{font-size:.85rem;color:#6a503c;line-height:1.6}

/* ---------- NEWS ---------- */
#news-list{background:var(--cream)}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.news-item{
  display:flex;gap:14px;align-items:flex-start;
  background:#fffaf1;border:1px solid #e5d6bd;border-radius:18px;padding:14px 16px;
  box-shadow:var(--shadow);transition:.25s;
}
.news-item:hover{transform:translateY(-3px);border-color:var(--green-dark)}
.news-item img{flex:0 0 92px;width:92px;height:74px;object-fit:cover;border-radius:12px}
.news-item .body{flex:1}
.news-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.chip{font-size:.72rem;background:var(--brown);color:#f7ecd9;padding:2px 10px;border-radius:999px;font-weight:600}
.date{font-size:.76rem;color:#8a6a4c}
.news-item h3{font-size:1rem;margin-bottom:4px}
.news-item p{font-size:.87rem;color:#5f4733;line-height:1.65}

/* ---------- EVENTS ---------- */
#featured-events{background:linear-gradient(180deg,#f1e7d6,#e9dcc7)}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ev{background:var(--cream);border-radius:20px;overflow:hidden;border:1px solid #e0cfb4;box-shadow:var(--shadow)}
.ev img{height:132px;width:100%;object-fit:cover}
.ev .pad{padding:14px 16px}
.ev h3{margin-bottom:5px;font-size:1rem}
.ev p{font-size:.86rem;color:#63492f}
.ev .tagline{display:inline-block;margin-top:9px;font-size:.78rem;color:var(--green-dark);font-weight:700}

/* ---------- TESTIMONIALS ---------- */
#testimonials{background:var(--cream)}
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tst{background:#fffaf2;border:1px solid #e5d6bd;border-radius:20px;padding:18px;box-shadow:var(--shadow);position:relative}
.tst::before{content:"“";position:absolute;top:2px;right:14px;font-size:3.2rem;color:rgba(120,53,15,.16);line-height:1}
.tst p{font-size:.9rem;color:#4f3826}
.tst .who{margin-top:12px;display:flex;align-items:center;gap:10px}
.tst .who i{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-style:normal;background:var(--brown);color:var(--green);font-weight:700}
.tst .who b{font-size:.86rem;color:var(--brown-deep)}
.tst .who span{font-size:.76rem;color:#8a6a4c;display:block}

/* ---------- GALLERY ---------- */
#gallery{background:var(--cream-2)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gal-grid figure{border-radius:18px;overflow:hidden;border:3px solid rgba(69,26,3,.12);box-shadow:var(--shadow);background:#2b1608}
.gal-grid img{height:150px;width:100%;object-fit:cover;transition:.35s;opacity:.94}
.gal-grid figure:hover img{transform:scale(1.06);opacity:1}
.gal-grid figcaption{font-size:.78rem;color:#e8d9c3;padding:6px 9px;background:linear-gradient(180deg,rgba(69,26,3,.2),rgba(69,26,3,.75))}

/* ---------- CTA ---------- */
#cta{background:linear-gradient(120deg,var(--brown-deep),var(--brown) 60%,#8b4a1b);color:var(--cream);position:relative;overflow:hidden}
#cta::after{content:"";position:absolute;inset:0;opacity:.3;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:8px 8px}
.cta-\boxed{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto}
.cta-box h2{color:var(--cream)}
.cta-box p{color:#e8d7be;margin:12px 0 22px}

/* ---------- FAQ ---------- */
#faq{background:var(--cream)}
.faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.faq-item{background:#fffaf1;border:1px solid #e5d6bd;border-radius:18px;padding:16px 18px;box-shadow:var(--shadow)}
.faq-item h3{font-size:.98rem;margin-bottom:7px;display:flex;gap:8px;align-items:flex-start}
.faq-item h3::before{content:"?";flex:0 0 22px;height:22px;border-radius:999px;background:var(--green);color:#1b2d04;font-size:.8rem;display:grid;place-items:center;font-weight:800;margin-top:2px}
.faq-item p{font-size:.88rem;color:#5c4430;line-height:1.78}

/* ---------- FOOTER ---------- */
footer{background:linear-gradient(160deg,#3a1503,#451a03 55%,#2b1002);color:#e6d6c0;padding:40px 0 22px;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:26px}
.foot-grid h4{color:var(--cream);font-size:1rem;margin-bottom:10px}
.foot-grid p,.foot-grid li{line-height:1.9;color:#dcc9ae}
.foot-grid ul{list-style:none}
.foot-grid a:hover{color:var(--green)}
.foot-bottom{margin-top:24px;padding-top:16px;border-top:1px solid rgba(246,239,226,.16);text-align:center;color:#c8b397;font-size:.82rem}
.foot-bottom a{color:#d9c6a8;margin:0 6px}
.foot-bottom a:hover{color:var(--green)}

@media(max-width:960px){
  .hero-grid,.foot-grid{grid-template-columns:1fr}
  .stat-grid,.adv-grid,.news-grid,.ev-grid,.tst-grid,.faq-list{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  h1{font-size:1.75rem}
  h2{font-size:1.4rem}
  section{padding:34px 0}
}
@media(max-width:520px){
  .news-item{flex-direction:column}
  .news-item img{width:100%;height:120px}
}