:root{
  --olive:#4d7c0f;
  --olive-lt:#84cc16;
  --dark:#292524;
  --darker:#1c1917;
  --red:#9f1239;
  --cream:#f5f0e6;
  --paper:#f8f6f1;
  --line:#d9d2c6;
  --muted:#6f6862;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--dark);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* ============ HEADER ============ */
.site-header{background:linear-gradient(120deg,#4d7c0f 0%,#3f6212 45%,#292524 100%);border-bottom:4px solid var(--red);position:sticky;top:0;z-index:99;box-shadow:0 4px 14px rgba(28,25,23,.25);}
.header-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;flex-wrap:wrap;}
.logo{color:var(--cream);font-weight:800;letter-spacing:1px;font-size:17px;display:flex;align-items:center;gap:8px;}
.logo::before{content:"🎖";font-size:19px;}
.nav-links{display:flex;flex-wrap:wrap;gap:6px;}
.nav-links a{color:#e9e3d7;font-size:14px;padding:8px 13px;border:1px solid rgba(245,240,230,.22);border-radius:2px;transition:all .18s ease;letter-spacing:.5px;}
.nav-links a:hover{background:var(--red);border-color:var(--red);color:#fff;}

/* ============ HERO ============ */
#hero{background:linear-gradient(135deg,#1c1917 0%,#3f6212 58%,#4d7c0f 100%);color:var(--cream);padding:70px 20px 62px;position:relative;overflow:hidden;}
#hero::after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border:14px solid rgba(245,240,230,.06);transform:rotate(18deg);}
.hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2;}
.eyebrow{display:inline-block;font-size:13px;letter-spacing:3px;color:#c7f284;border:1px solid rgba(199,242,132,.5);padding:5px 12px;margin-bottom:18px;border-radius:2px;}
#hero h1{font-size:clamp(24px,3.4vw,40px);line-height:1.35;font-weight:800;letter-spacing:1px;max-width:900px;text-shadow:0 2px 0 rgba(0,0,0,.25);}
.hero-sub{margin-top:16px;font-size:16px;color:#ded8cc;max-width:760px;}
.hero-actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-block;padding:12px 26px;font-size:15px;font-weight:700;border-radius:2px;border:2px solid transparent;letter-spacing:1px;transition:all .18s ease;}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red);}
.btn-primary:hover{background:#7f1d1d;border-color:#7f1d1d;}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(245,240,230,.55);}
.btn-ghost:hover{background:var(--cream);color:var(--darker);}

/* ============ SECTION BASE ============ */
.section{padding:58px 20px;}
.section.alt{background:#efebe1;border-top:2px solid var(--line);border-bottom:2px solid var(--line);}
.wrap{max-width:1200px;margin:0 auto;}
.sec-title{font-size:26px;font-weight:800;color:var(--dark);border-left:8px solid var(--olive);padding-left:15px;margin-bottom:12px;letter-spacing:1.2px;line-height:1.4;}
.sec-desc{color:var(--muted);margin-bottom:30px;font-size:15px;max-width:900px;}
.lead-text{font-size:16px;color:#3f3a35;line-height:1.95;}
.lead-text + .lead-text{margin-top:14px;}

/* ============ STATS ============ */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.stat-card{background:var(--dark);color:var(--cream);border:2px solid var(--dark);border-radius:3px;padding:26px 20px;position:relative;overflow:hidden;}
.stat-card::after{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--olive-lt);}
.stat-num{display:block;font-size:32px;font-weight:800;color:#a3e635;line-height:1.2;letter-spacing:1px;}
.stat-label{display:block;font-size:14px;color:#cfc9bd;margin-top:8px;letter-spacing:.5px;}

/* ============ ADVANTAGES ============ */
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;}
.adv-card{background:#fff;border:2px solid var(--line);border-top:6px solid var(--olive);border-radius:3px;padding:24px 22px;transition:transform .18s ease,box-shadow .18s ease;}
.adv-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(41,37,36,.12);}
.adv-card h3{font-size:17px;margin-bottom:10px;color:var(--dark);letter-spacing:.6px;}
.adv-card p{font-size:14.6px;color:#4f4941;}
.adv-icon{font-size:22px;margin-bottom:10px;display:block;}

/* ============ FEATURED EVENTS ============ */
.event-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:22px;align-items:stretch;}
.event-visual{position:relative;border:3px solid var(--dark);border-radius:3px;overflow:hidden;background:var(--dark);min-height:260px;}
.event-visual img{width:100%;height:100%;object-fit:cover;min-height:260px;}
.event-visual span{position:absolute;left:0;bottom:0;background:rgba(159,18,57,.94);color:#fff;font-size:13px;padding:7px 14px;letter-spacing:1px;}
.event-list{display:flex;flex-direction:column;gap:14px;}
.event-item{background:#fff;border:2px solid var(--line);border-left:6px solid var(--red);border-radius:3px;padding:16px 18px;}
.event-item h3{font-size:16px;margin-bottom:6px;}
.event-item p{font-size:14.4px;color:#55504a;}
.event-meta{display:inline-block;font-size:12.5px;color:#fff;background:var(--olive);padding:2px 9px;border-radius:2px;margin-bottom:8px;letter-spacing:1px;}

/* ============ NEWS ============ */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px;}
.news-card{background:#fff;border:2px solid var(--line);border-radius:3px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s ease;}
.news-card:hover{box-shadow:0 8px 20px rgba(41,37,36,.13);}
.news-head{background:var(--dark);color:var(--cream);padding:10px 16px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;letter-spacing:.5px;}
.news-tag{background:var(--red);color:#fff;padding:2px 9px;border-radius:2px;font-size:12px;}
.news-date{color:#b9b2a6;font-size:12.5px;white-space:nowrap;}
.news-body{padding:18px 18px 20px;}
.news-body h3{font-size:17px;margin-bottom:9px;line-height:1.55;color:var(--darker);}
.news-body p{font-size:14.5px;color:#4f4941;line-height:1.85;}

/* ============ BRAND STORY ============ */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;}
.story-visual{border:3px solid var(--dark);border-radius:3px;overflow:hidden;background:#ddd8cd;}
.story-visual img{width:100%;object-fit:cover;}
.story-text h3{font-size:19px;margin-bottom:12px;border-left:6px solid var(--red);padding-left:12px;}
.story-text p{font-size:15px;color:#4a443e;margin-bottom:12px;}

/* ============ PARTNERS ============ */
.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;}
.partner-item{background:#fff;border:2px solid var(--line);border-radius:3px;padding:22px 12px;text-align:center;font-size:14.5px;font-weight:700;color:#4f4941;letter-spacing:.6px;transition:all .18s ease;}
.partner-item:hover{border-color:var(--olive);color:var(--olive);}
.partner-item span{display:block;font-size:22px;margin-bottom:8px;}

/* ============ FAQ ============ */
.faq-item{background:#fff;border:2px solid var(--line);border-left:7px solid var(--red);border-radius:3px;margin-bottom:14px;padding:20px 22px;}
.faq-q{font-weight:800;font-size:16.5px;margin-bottom:10px;color:var(--darker);line-height:1.6;}
.faq-q::before{content:"Q ";color:var(--red);}
.faq-a{font-size:14.8px;color:#4f4941;line-height:1.9;}
.faq-a::before{content:"A ";color:var(--olive);font-weight:800;}

/* ============ CTA ============ */
#cta{background:linear-gradient(120deg,#292524 0%,#3f6212 55%,#4d7c0f 100%);color:var(--cream);padding:60px 20px;text-align:center;}
#cta h2{font-size:27px;font-weight:800;letter-spacing:1.4px;margin-bottom:14px;}
#cta p{max-width:820px;margin:0 auto 26px;font-size:15.5px;color:#ded8cc;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ============ FOOTER ============ */
.site-footer{background:var(--darker);color:#c9c3b8;padding:46px 20px 18px;font-size:14px;}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:30px;padding-bottom:28px;border-bottom:1px solid #3a3531;}
.footer-grid h3{color:var(--cream);font-size:15.5px;margin-bottom:14px;border-left:5px solid var(--olive);padding-left:10px;letter-spacing:1px;}
.footer-grid p{line-height:1.9;color:#b7b1a6;}
.footer-grid li{margin-bottom:8px;}
.footer-grid a{color:#b7b1a6;transition:color .16s ease;}
.footer-grid a:hover{color:var(--olive-lt);}
.footer-bottom{padding-top:18px;text-align:center;font-size:13.5px;color:#8f8981;line-height:2;}
.footer-bottom a{color:#c9c3b8;}
.footer-bottom a:hover{color:var(--olive-lt);}

/* ============ RESPONSIVE ============ */
@media (max-width:860px){
  .event-grid,.story-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  #hero{padding:52px 18px 46px;}
  .section{padding:44px 18px;}
  .sec-title{font-size:22px;}
}