:root{
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --brand-light:#3b82f6;
  --brand-soft:#eff6ff;
  --ink:#0f172a;
  --muted:#64748b;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Noto Sans SC',system-ui,-apple-system,"Microsoft YaHei",sans-serif;
  color:var(--ink);background:#fff;line-height:1.75;}
a{color:var(--brand);text-decoration:none;}
.container{width:min(1140px,92vw);margin:0 auto;}
.btn{padding:11px 22px;border-radius:8px;font-weight:600;display:inline-block;cursor:pointer;border:none;font-size:15px;}
.btn.primary{background:var(--brand);color:#fff;}
.btn.primary:hover{background:var(--brand-dark);}
.btn.ghost{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.5);}
.btn.ghost:hover{background:rgba(255,255,255,.28);}

/* 顶部导航 */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eef2f7;box-shadow:0 1px 6px rgba(15,23,42,.04);}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{font-weight:800;font-size:20px;color:var(--brand);letter-spacing:.5px;}
.menu{display:flex;gap:26px;align-items:center;}
.menu a{color:var(--ink);font-weight:500;font-size:15px;}
.menu a.active,.menu a:hover{color:var(--brand);}
.menu .blog-link{background:var(--brand);color:#fff!important;padding:7px 15px;border-radius:6px;font-weight:600;}
.menu .blog-link:hover{background:var(--brand-dark);}
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink);}

/* Hero */
.hero{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:96px 0 84px;}
.hero-tag{letter-spacing:5px;opacity:.85;margin:0 0 8px;font-size:14px;}
.hero h1{font-size:42px;margin:.1em 0;font-weight:800;}
.hero-sub{font-size:17px;max-width:660px;opacity:.95;margin:14px 0 0;}
.hero-btns{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}

/* 通用区块 */
.section{padding:64px 0;}
.section.alt{background:var(--brand-soft);}
.sec-title{font-size:28px;font-weight:800;text-align:center;margin:0 0 36px;color:var(--ink);}
.sec-title::after{content:"";display:block;width:48px;height:4px;background:var(--brand);margin:12px auto 0;border-radius:2px;}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cards.two{grid-template-columns:repeat(2,1fr);}
.card{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:26px;transition:.2s;box-shadow:0 4px 18px rgba(15,23,42,.04);}
.card:hover{transform:translateY(-4px);border-color:var(--brand-light);box-shadow:0 10px 30px rgba(37,99,235,.14);}
.card-ico{width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px;}
.card h3{margin:0 0 8px;font-size:18px;}
.card p{color:var(--muted);margin:0 0 12px;font-size:14px;}
.dot-list{margin:0;padding-left:18px;color:var(--muted);font-size:14px;}
.dot-list li{margin:6px 0;}

/* 博客精选 */
.blog-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pick{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:22px;color:var(--ink);transition:.2s;}
.pick:hover{box-shadow:0 10px 30px rgba(37,99,235,.14);border-color:var(--brand-light);}
.pick h3{margin:0 0 8px;font-size:17px;}
.pick p{color:var(--muted);font-size:14px;min-height:42px;}
.pick-more{color:var(--brand);font-weight:600;font-size:14px;}
.more{text-align:center;margin-top:30px;}

/* 内页头图 */
.page-hero{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:56px 0;}
.page-hero h1{font-size:32px;margin:6px 0 4px;font-weight:800;}
.page-hero p{opacity:.9;margin:0;}

/* 文章正文 */
.prose{max-width:780px;}
.prose h3{color:var(--brand-dark);margin-top:28px;}
.article-content{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:28px;white-space:pre-wrap;word-break:break-word;font-size:15px;color:#334155;}
.meta{color:var(--muted);font-size:14px;}
.back{color:#fff;opacity:.9;font-size:14px;}

/* 案例 */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.case{background:#fff;border:1px solid #eef2f7;border-radius:14px;overflow:hidden;transition:.2s;}
.case:hover{box-shadow:0 10px 30px rgba(37,99,235,.14);}
.case-thumb{height:120px;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;font-weight:800;}
.brand-a{background:linear-gradient(135deg,#2563eb,#1d4ed8);}
.brand-b{background:linear-gradient(135deg,#0ea5e9,#0369a1);}
.brand-c{background:linear-gradient(135deg,#7c3aed,#5b21b6);}
.case-body{padding:18px 20px;}
.case-body h3{margin:0 0 6px;font-size:16px;}
.case-body p{color:var(--muted);font-size:14px;margin:0;}

/* 团队 */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.member{text-align:center;background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:24px;transition:.2s;}
.member:hover{box-shadow:0 10px 30px rgba(37,99,235,.14);}
.avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:700;}
.av-a{background:#2563eb;}.av-b{background:#0ea5e9;}.av-c{background:#7c3aed;}.av-d{background:#db2777;}
.member h3{margin:0;font-size:17px;}
.role{color:var(--brand);font-weight:600;margin:4px 0 8px;font-size:14px;}
.member p:last-child{color:var(--muted);font-size:13px;margin:0;}

/* 新闻列表 */
.news-list{display:flex;flex-direction:column;gap:14px;}
.news-item{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:18px 22px;color:var(--ink);transition:.2s;}
.news-item:hover{box-shadow:0 8px 24px rgba(37,99,235,.12);border-color:var(--brand-light);}
.news-date{color:var(--muted);font-size:13px;min-width:88px;}
.news-main{flex:1;}
.news-main h3{margin:0 0 4px;font-size:17px;}
.news-main p{margin:0;color:var(--muted);font-size:14px;}
.news-arrow{color:var(--brand);font-size:20px;}
.empty{color:var(--muted);text-align:center;padding:30px;}

/* 联系 */
.contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start;}
.contact-info h3{margin-top:0;}
.contact-info p{color:var(--muted);}
.contact-info .tip{margin-top:18px;font-size:14px;}
.contact-form{background:#fff;border:1px solid #eef2f7;border-radius:14px;padding:26px;box-shadow:0 6px 22px rgba(15,23,42,.05);}
.field{margin-bottom:16px;}
.field label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;}
.field input,.field textarea{width:100%;padding:11px 13px;border:1px solid #dbe3ee;border-radius:8px;font-size:15px;font-family:inherit;outline:none;}
.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);}
.form-msg{margin:12px 0 0;font-size:14px;min-height:20px;}
.form-msg.ok{color:#16a34a;}
.form-msg.err{color:#dc2626;}

/* 页脚 */
.site-footer{background:var(--ink);color:#cbd5e1;padding:48px 0 28px;margin-top:40px;}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.site-footer h4{color:#fff;margin:0 0 12px;font-size:16px;}
.site-footer a{color:#93c5fd;}
.site-footer a:hover{color:#fff;}
.copyright{border-top:1px solid #1e293b;margin-top:30px;padding-top:18px;color:#94a3b8;font-size:13px;}

/* 响应式 */
@media(max-width:900px){
  .cards,.cards.two,.blog-picks,.cases,.team{grid-template-columns:repeat(2,1fr);}
  .contact-wrap{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .menu{position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:10px 0;box-shadow:0 8px 20px rgba(15,23,42,.12);display:none;}
  .menu.open{display:flex;}
  .menu a{padding:12px 24px;width:100%;}
  .menu-toggle{display:block;}
  .cards,.cards.two,.blog-picks,.cases,.team{grid-template-columns:1fr;}
  .hero h1{font-size:30px;}
}
