*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;}
body{background:#f6faf8;color:#1f2d27;line-height:1.75;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;line-height:1.35;color:#0f2d22;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #e2f0e9;box-shadow:0 2px 14px rgba(16,185,129,.07);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;max-width:1180px;margin:0 auto;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:#047857;}
.brand .logo-dot{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#10b981,#047857);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;box-shadow:0 4px 12px rgba(16,185,129,.35);}
.nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.nav-links a{padding:8px 14px;border-radius:22px;font-size:.92rem;color:#2c4a3d;transition:.25s;font-weight:500;}
.nav-links a:hover{background:linear-gradient(135deg,#10b981,#047857);color:#fff;box-shadow:0 4px 12px rgba(16,185,129,.3);}

/* hero */
#hero{background:linear-gradient(150deg,#ecfdf5 0%,#f0fdf9 45%,#ffffff 100%);padding:64px 0 56px;position:relative;overflow:hidden;}
#hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.18),transparent 70%);}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#d1fae5;color:#047857;padding:6px 16px;border-radius:20px;font-size:.82rem;font-weight:600;margin-bottom:18px;}
h1{font-size:2.25rem;letter-spacing:-.5px;margin-bottom:18px;color:#0f2d22;}
h1 .accent{background:linear-gradient(135deg,#10b981,#047857);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-text{font-size:1rem;color:#3b5a4d;margin-bottom:24px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn{padding:12px 26px;border-radius:26px;font-weight:600;font-size:.94rem;transition:.25s;display:inline-block;}
.btn-primary{background:linear-gradient(135deg,#10b981,#047857);color:#fff;box-shadow:0 8px 20px rgba(16,185,129,.32);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,185,129,.4);}
.btn-ghost{background:#fff;color:#047857;border:1.5px solid #a7f3d0;}
.btn-ghost:hover{background:#ecfdf5;transform:translateY(-3px);}
.hero-img{border-radius:24px;overflow:hidden;box-shadow:0 20px 46px rgba(4,120,87,.18);}
.hero-img img{width:100%;height:340px;object-fit:cover;}

/* section base */
section{padding:58px 0;}
.section-head{text-align:center;margin-bottom:38px;}
.section-head h2{font-size:1.72rem;margin-bottom:10px;}
.section-head p{color:#5c7a6d;font-size:.95rem;max-width:660px;margin:0 auto;}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:2px;color:#10b981;font-weight:700;text-transform:uppercase;margin-bottom:8px;}

/* geo intro */
#geo-intro{background:#fff;}
.geo-box{background:linear-gradient(135deg,#f0fdf9,#ffffff);border:1px solid #d1fae5;border-radius:22px;padding:34px;box-shadow:0 8px 26px rgba(16,185,129,.07);}
.geo-box p{color:#3b5a4d;margin-bottom:14px;font-size:.98rem;}
.geo-box p:last-child{margin-bottom:0;}
.geo-box strong{color:#047857;}

/* stats */
#data-stats{background:linear-gradient(135deg,#047857,#10b981);color:#fff;}
#data-stats .section-head h2{color:#fff;}
#data-stats .section-head p{color:#d1fae5;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:26px 18px;text-align:center;backdrop-filter:blur(6px);transition:.3s;}
.stat-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.2);}
.stat-num{font-size:2rem;font-weight:800;color:#fff;display:block;}
.stat-label{font-size:.86rem;color:#d1fae5;margin-top:6px;}

/* advantages */
#core-advantages{background:#f6faf8;}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.adv-card{background:#fff;border-radius:20px;padding:28px 24px;border:1px solid #e6f4ee;box-shadow:0 6px 20px rgba(16,185,129,.06);transition:.3s;}
.adv-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(16,185,129,.16);border-color:#a7f3d0;}
.adv-icon{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;}
.adv-card h3{font-size:1.06rem;margin-bottom:10px;color:#047857;}
.adv-card p{font-size:.9rem;color:#547062;}

/* brand story */
#brand-story{background:#fff;}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.story-img{border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(4,120,87,.15);}
.story-img img{width:100%;height:330px;object-fit:cover;}
.story-content h2{font-size:1.6rem;margin-bottom:16px;}
.story-content p{color:#3b5a4d;font-size:.96rem;margin-bottom:14px;}

/* events */
#featured-events{background:#f6faf8;}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.event-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #e6f4ee;box-shadow:0 6px 20px rgba(16,185,129,.06);transition:.3s;}
.event-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(16,185,129,.16);}
.event-card img{width:100%;height:158px;object-fit:cover;}
.event-body{padding:20px;}
.event-tag{display:inline-block;background:#d1fae5;color:#047857;font-size:.74rem;font-weight:700;padding:3px 11px;border-radius:12px;margin-bottom:10px;}
.event-body h3{font-size:1rem;margin-bottom:8px;}
.event-body p{font-size:.87rem;color:#547062;}

/* news */
#news-list{background:#fff;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.news-card{background:#fff;border-radius:20px;border:1px solid #e6f4ee;padding:24px;box-shadow:0 6px 20px rgba(16,185,129,.06);transition:.3s;display:flex;flex-direction:column;}
.news-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(16,185,129,.14);border-color:#a7f3d0;}
.news-date{font-size:.78rem;color:#10b981;font-weight:700;margin-bottom:8px;letter-spacing:.5px;}
.news-card h3{font-size:1rem;margin-bottom:10px;color:#0f2d22;}
.news-card p{font-size:.87rem;color:#547062;flex:1;}

/* testimonials */
#testimonials{background:#f6faf8;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{background:#fff;border-radius:20px;padding:26px;border:1px solid #e6f4ee;box-shadow:0 6px 20px rgba(16,185,129,.06);}
.testi-card p{font-size:.9rem;color:#3b5a4d;margin-bottom:16px;font-style:normal;}
.testi-user{display:flex;align-items:center;gap:10px;}
.testi-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#10b981,#047857);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;}
.testi-name{font-size:.87rem;font-weight:700;color:#047857;}
.testi-role{font-size:.76rem;color:#7a9587;}
.stars{color:#f59e0b;font-size:.85rem;margin-bottom:10px;}

/* faq */
#faq{background:#fff;}
.faq-list{max-width:880px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid #e6f4ee;border-radius:16px;margin-bottom:14px;padding:22px 26px;box-shadow:0 4px 14px rgba(16,185,129,.05);transition:.25s;}
.faq-item:hover{border-color:#a7f3d0;box-shadow:0 10px 24px rgba(16,185,129,.12);}
.faq-q{font-size:1rem;font-weight:700;color:#047857;margin-bottom:10px;display:flex;gap:10px;align-items:flex-start;}
.faq-q span{color:#10b981;flex-shrink:0;}
.faq-a{font-size:.9rem;color:#4a675b;}

/* cta */
#cta{background:linear-gradient(135deg,#10b981,#047857);color:#fff;text-align:center;}
#cta h2{color:#fff;font-size:1.75rem;margin-bottom:14px;}
#cta p{color:#d1fae5;max-width:640px;margin:0 auto 26px;font-size:.97rem;}
.btn-white{background:#fff;color:#047857;box-shadow:0 8px 22px rgba(0,0,0,.15);}
.btn-white:hover{transform:translateY(-3px);}

/* partners */
#partners{background:#f6faf8;padding:48px 0;}
.partner-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.partner-chip{background:#fff;border:1px solid #d1fae5;border-radius:14px;padding:12px 22px;font-size:.88rem;color:#047857;font-weight:600;box-shadow:0 4px 12px rgba(16,185,129,.06);}

/* footer */
.site-footer{background:#0f2d22;color:#c9e6da;padding:50px 0 24px;font-size:.88rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:34px;}
.footer-brand h3{color:#fff;font-size:1.1rem;margin-bottom:12px;}
.footer-brand p{color:#9dc4b3;line-height:1.9;}
.footer-col h4{color:#fff;font-size:.95rem;margin-bottom:14px;}
.footer-col a,.footer-col p{display:block;color:#9dc4b3;margin-bottom:9px;transition:.2s;font-size:.87rem;}
.footer-col a:hover{color:#34d399;}
.footer-bottom{border-top:1px solid #1d4234;padding-top:20px;text-align:center;color:#7fa898;font-size:.82rem;line-height:2;}
.footer-bottom a{color:#34d399;}
.footer-bottom a:hover{text-decoration:underline;}

@media(max-width:900px){
.hero-grid,.story-grid{grid-template-columns:1fr;gap:28px;}
.stats-grid{grid-template-columns:repeat(2,1fr);}
.adv-grid,.event-grid,.news-grid,.testi-grid{grid-template-columns:repeat(2,1fr);}
.footer-grid{grid-template-columns:1fr 1fr;}
h1{font-size:1.8rem;}
}
@media(max-width:620px){
.stats-grid,.adv-grid,.event-grid,.news-grid,.testi-grid,.footer-grid{grid-template-columns:1fr;}
.header-inner{justify-content:center;}
.nav-links{justify-content:center;}
h1{font-size:1.55rem;}
section{padding:42px 0;}
.hero-img img{height:230px;}
}